博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
移动商城第十篇【商品审核和上下价】
阅读量:6455 次
发布时间:2019-06-23

本文共 6651 字,大约阅读时间需要 22 分钟。


tags: 移动商城项目


商品审核

接下来我们做的是商品审核的功能:

我们到修改url的地址,并且给出对应controller的方法

  • 商品审核
  • 复制代码

    查询出未审核的商品其实就是条件查询的一种,因此该controller的代码和列出商品的代码几乎一样。

    @RequestMapping("/listAudit.do")    public String listAudit(QueryCondition queryCondition,Model model) {                //查询出所有的品牌        List
    ebBrands = ebBrandService.selectBrand(); //如果是第一次访问的话,那么默认是没有当前页号的,因此赋值为1 if (queryCondition.getPageNo() == null) { queryCondition.setPageNo(1); } //得到分页数据 Page page = itemService.selectItemByCondition(queryCondition); model.addAttribute("page", page); model.addAttribute("ebBrands", ebBrands); //回显条件数据 model.addAttribute("queryCondition", queryCondition); return "item/listAudit"; }复制代码

    处理下边的url并且随着条件,样式发生改变:

    全部 待审核 审核不通过 已审核

    复制代码

    数据回显

    通过隐藏域拿到查询条件的值:

    复制代码

    通过判断隐藏域的值来改变我们的样式:

    $(document).ready(function () {            if ($("#auditStatus").val() == '0') {                $("#label1").attr("class", "here");            }            else if ($("#auditStatus").val() == 2) {                $("#label2").attr("class", "here");            }            else if ($("#auditStatus").val() == 1) {                $("#label3").attr("class", "here");            }            else $("#label4").attr("class", "here");        })复制代码

    查询条件以及回显:

    查询:

    --%> <%--模糊查询--%>

    复制代码

    根据审核条件的不同,在显示商品的url中也应该是不同的。

    • 只要在遍历的时候,判断对应的状态就行了。

    处理审核

    处理审核:使用JavaScript方法来进行控制,把item的Id传递进去和审核对应的值。

    通过
    不通过
    复制代码

    审核通过和不通过总会有理由的,对于我们的理由我们使用一张表来保存的。

    function isPass(itemId, auditStatus){            //修改浮动层的标题            $("#addItemNoteH2").html("商品审核");            //清空内容            $("#itemNote").val("");            tipShow("#addItemNote");            //给表单赋值            $("#itemId").val(itemId);            $("#myAuditStatus").val(auditStatus);        }复制代码

    使用表单来处理我们的操作。其中notes是我们弹出框的数据。

    • 我们使用一个表单就可以把不同方法中的数据集合在一起,我们只要把表单提交过去就行了!
    复制代码

    响应事件,给表单赋值,提交表单

    $("#addItemNoteConfirm").click(function(){                var notes = $("#itemNote").val();                //给表单赋值                $("#notes").val(notes);                //提交表单                $("#auditForm").submit();            });复制代码

    我们是使用EB_CONSOLE_LOG这张数据表来保存我们后台操作的日志记录的。

    表的字段如下:

    既然我们要操作到表,我们就得逆向工厂...

    设置主键为自动增长

    insert into EB_CONSOLE_LOG (CONSOLE_LOG_ID, ENTITY_NAME, ENTITY_ID, USER_ID, OP_TYPE, OP_TIME, NOTES, TABLE_NAME) values (seqconsolelogid.nextval, #{entityName,jdbcType=VARCHAR}, #{entityId,jdbcType=DECIMAL}, #{userId,jdbcType=DECIMAL}, #{opType,jdbcType=VARCHAR}, #{opTime,jdbcType=TIMESTAMP}, #{notes,jdbcType=VARCHAR}, #{tableName,jdbcType=VARCHAR})
    复制代码

    编写dao

    /** * 继承SqlSessionDaoSupport能够得到sessionFactory的引用,非常方便! */@Repositorypublic class EbConsoleLogDaoImpl extends SqlSessionDaoSupport implements EbConsoleLogDao {    String nameSpace = "com.rl.ecps.sqlMap.EbConsoleLogMapper.";    public void saveConsoleLog(EbConsoleLog ConsoleLog) {        this.getSqlSession().insert(nameSpace + "insert", ConsoleLog);    }}复制代码

    修改商品的属性,由于修改的状态个数是未知的,因此我们使用动态修改:

    public void updateItem(EbItem ebItem) {        this.getSqlSession().update(nameSpace + "updateByPrimaryKeySelective", ebItem);    }复制代码

    编写service

    public void updateItem(Long itemId, Short auditStatus, String notes) {                //设置item的属性        EbItem ebItem = new EbItem();        ebItem.setItemId(itemId);        ebItem.setAuditStatus(auditStatus);        ebItem.setCheckerUserId((long) 222);        ebItem.setCheckTime(new Date());                //更新item        itemDao.updateItem(ebItem);                //操作日志        EbConsoleLog ebConsoleLog = new EbConsoleLog();        ebConsoleLog.setEntityId(itemId);        ebConsoleLog.setEntityName("商品表");        ebConsoleLog.setNotes(notes);        ebConsoleLog.setOpTime(new Date());        if(auditStatus == 1){            ebConsoleLog.setOpType("审核通过");        }else{            ebConsoleLog.setOpType("审核不通过");        }        ebConsoleLog.setTableName("EB_ITEM");        ebConsoleLog.setUserId(1l);        logDao.saveConsoleLog(ebConsoleLog);    }复制代码

    controller

    @RequestMapping("/auditItem.do")    public String  auditItem(Long itemId, Short auditStatus, String notes) throws IOException {        itemService.updateItem(itemId, auditStatus, notes);        return "redirect:listAudit.do";    }复制代码

    把商品的状态修改了,并且已经把操作记录写到数据库表中了。

    上下价

    对于上下价和审核的逻辑基本是相同的...

    根据不同的状态给出不同的超链接:

    查看            
    编辑
    删除
    上架
    下架
    发布
    复制代码

    给表单赋值

    function isShow(itemId, showStatus) {            tipShow("#confirm");            //给表单赋值            $("#itemId").val(itemId);            $("#myShowStatus").val(showStatus);        }复制代码

    在弹出框中绑定提交事件,提交表单

    $("#confirmOk").click(function () {    $("#showForm").submit();});复制代码

    编写controller和service

    @RequestMapping("/showItem.do")    public String  showItem(Long itemId, Short showStatus) throws IOException {        itemService.showItem(itemId, showStatus);        return "redirect:listItem.do";    }复制代码
    public void showItem(Long itemId, Short showStatus) {        //设置item的属性        EbItem ebItem = new EbItem();        ebItem.setItemId(itemId);        ebItem.setShowStatus(showStatus);        ebItem.setCheckerUserId((long) 222);        ebItem.setCheckTime(new Date());        //更新item        itemDao.updateItem(ebItem);        //操作日志        EbConsoleLog ebConsoleLog = new EbConsoleLog();        ebConsoleLog.setEntityId(itemId);        ebConsoleLog.setEntityName("商品表");        ebConsoleLog.setOpTime(new Date());        if(showStatus == 1){            ebConsoleLog.setOpType("下架");        }else{            ebConsoleLog.setOpType("上架");        }        ebConsoleLog.setTableName("EB_ITEM");        ebConsoleLog.setUserId(1l);        logDao.saveConsoleLog(ebConsoleLog);    }复制代码

    #总结 #

    • 查看商品审核的数据本质上就是有条件地查询商品。与我们之前查询商品的逻辑代码是一样的

    • 对于数据回显来说,还是一样,如果属性是表单内的。我们就判断或者直接进行回显。如果是表单外的数据,我们就通过隐藏域获取该值。通过Jquery来进行控制回显。

    • 处理审核的时候,我们将审核的记录添加到数据库表中。要做到两个JavaScript方法共享数据:我们可以将数据使用form表单,表单内使用隐藏域。Jquery为隐藏域赋值就行了。最后提交表单

    • 商品的上下架和商品审核逻辑几乎一样

    如果您觉得这篇文章帮助到了您,可以给作者一点鼓励

    转载地址:http://gtfzo.baihongyu.com/

    你可能感兴趣的文章
    Windows平台分布式架构实践 - 负载均衡
    查看>>
    如何让LinearLayout也有类似Button的点击效果?
    查看>>
    JAVA读取文件方法大全
    查看>>
    寻找最小的k个数
    查看>>
    CSS3中的动画效果记录
    查看>>
    CI框架整合微信公共平台接口
    查看>>
    request.getScheme()的使用方法
    查看>>
    Android快速开发常用知识点系列目录
    查看>>
    Java ActiveMQ队列模式案例
    查看>>
    EJB2的配置
    查看>>
    最容易理解的对卷积(convolution)的解释
    查看>>
    《机器学习实战》知识点笔记目录
    查看>>
    Linux操作系统实时性分析
    查看>>
    mysql导出导入所有数据库
    查看>>
    完美解决NC502手工sql的查询引擎排序及合计问题
    查看>>
    PHP+MySQL代码部署在Linux(Ubuntu)上注意事项
    查看>>
    Tiny语言执行环境TM机源码
    查看>>
    PE文件之资源讲解
    查看>>
    windows 7/mac编译cocos2d-x-3.2*的android工程报错
    查看>>
    MYSQL导入导出.sql文件(转)
    查看>>